package net.zoneland.data.dataprofiling.system.service.impl;

import net.zoneland.data.dataprofiling.common.config.DataprofilingConfig;
import net.zoneland.data.dataprofiling.common.domain.Tree;
import net.zoneland.data.dataprofiling.common.service.FileService;
import net.zoneland.data.dataprofiling.system.domain.DeptEntity;
import net.zoneland.data.dataprofiling.system.domain.UserEntity;
import net.zoneland.data.dataprofiling.system.repository.DeptRepository;
import net.zoneland.data.dataprofiling.system.repository.UserRepository;
import net.zoneland.data.dataprofiling.system.service.DeptService;
import net.zoneland.data.dataprofiling.system.service.UserService;
import net.zoneland.data.dataprofiling.system.vo.UserVO;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;
import java.util.Map;
import java.util.Set;

@Transactional
@Service
public class UserServiceImpl implements UserService {

    @Autowired
    private UserRepository userRepository;

    @Autowired
    private DeptRepository deptRepository;

    @Autowired
    private FileService fileService;

    @Autowired
    private DataprofilingConfig dataprofilingConfig;

    @Autowired
    private DeptService deptService;

    private static final Logger LOGGER = LoggerFactory.getLogger(UserService.class);

    @Override
    public UserEntity get(Long id) {
        return userRepository.getOne(id);
    }

    @Override
    public List<UserEntity> list() {
        return null;
    }

    @Override
    public int count(Map<String, Object> map) {
        return 0;
    }

    @Override
    public int save(UserEntity user) {
        return 0;
    }

    @Override
    public int update(UserEntity user) {
        return 0;
    }

    @Override
    public int remove(Long userId) {
        return 0;
    }

    @Override
    public int batchremove(Long[] userIds) {
        return 0;
    }

    @Override
    public boolean exit(Map<String, Object> params) {
        return false;
    }

    @Override
    public Set<String> listRoles(Long userId) {
        return null;
    }

    @Override
    public int resetPwd(UserVO userVO, UserEntity userDO) throws Exception {
        return 0;
    }

    @Override
    public int adminResetPwd(UserVO userVO) throws Exception {
        return 0;
    }

    @Override
    public Tree<DeptEntity> getTree() {
        return null;
    }

    @Override
    public int updatePersonal(UserEntity userDO) {
        return 0;
    }

    @Override
    public Map<String, Object> updatePersonalImg(MultipartFile file, String avatar_data, Long userId) throws Exception {
        return null;
    }

    @Override
    public UserEntity getUserByUsername(String username) {
        return null;
    }
}
